#ifndef __OBJETS_H__
#define __OBJETS_H__

#include <gtk/gtk.h>
#include "../header/Carte.h"

/**\author JMC */

/* Statut : marqueur de déroulement du programme */
typedef enum {CHARGEMENT, ANNONCE, ANNONCE_VALIDEE, CLIC, NO_CLIC}Statut;


struct sObjets{

/* Grille de jeu */
    GtkWidget *pTable;
    GtkWidget *pMenu_annonce;

    GtkWidget *box_entry;

/* Boutons du menu */
    GtkWidget **bouton_couleur;
    GtkWidget **bouton_annonce;

    GtkWidget *ecran_label_annonce;

/* Boutons cartes */
    GtkWidget **bouton_cartes;

/* Boîtes modélisant la table de jeu */
    GtkWidget *tapis;
    GtkWidget *boite_main_gauche;
    GtkWidget *boite_main_droite;
    GtkWidget *boite_main_face;

/* Tableaux contenant la valeur renvoyée par chacun des boutons */
    int tab_valeur_couleur[4];
    int tab_valeur_annonce[13];

/* Stockage des valeurs cliquées par le joueur au cours du jeu */
    gchar *nom_joueur;
    Couleur clic_couleur_annoncee;
    int     clic_points_annonces;
    booleen clic_coinche_annoncee;
    int numero_carte_jouee;


    Statut statut;
};

/** @brief Alloue la taille nécessaire pour stocker les widgets de l'interface */
void initObjets(struct sObjets *obj);

/** @brief Initialise la grille de jeu stockée dans la structure Objets */
void initTable(struct sObjets *obj, GtkWidget *FenetrePrincipale);

/** @brief Libère la mémoire allouée pour les objets de la structure Objets */
void libereObjets(struct sObjets *obj);


#endif
